This invention relates to network services and, more particularly, to delivering messages to a large number of users that may be geographically wide-spread.
Heretofore a network service known as multicasting has been described as offering the ability to broadcast a particular message to several different destinations. The well-known internet protocol offers the ability to provide such service to a large number of users that are geographically wide-spread. Briefly, the internet is a hierarchically-arranged distributed internetwork system having a plurality of routing domains coupled to a backbone network. Each routing domain is a collection of one or more local networks that is attached to the backbone through one or more nodes known as routers.
Certain multicasting applications involve real-time traffic, such as video conferencing, and require a strict guarantee as to end-to-end latency. Another type of multicasting application, such as software distribution, does not have a strict limit on end-to-end latency, but requires complete accuracy of transmission. Other multicasting applications have intermediately stringent requirements on end-to-end delay and accuracy of transmission. U.S. Pat. No. 5,905,871 entitled xe2x80x9cMethod of Multicastingxe2x80x9d, issued May 18, 1999 and assigned to the assignee of the present application, discloses a protocol for transmitting multicast data segments and for receiving a packet status signal from any receiver that has joined the multicast. The status signal indicates the reception status of received data packets so that the sender can retransmit any missing packets. A somewhat similar service, termed xe2x80x9canycastxe2x80x9d service, is described in an article by Bhattacharjee et al entitled xe2x80x9cApplication-Layer Anycastingxe2x80x9d, Proc. of IEEE Infocom 1998. The IP anycast address defines a group of servers that provide the same service. A sender desiring to communicate with only one of the servers sends datagrams with the IP anycast address in the destination address field. Using anycast-aware routers the sending node then routes the datagram to at least one of the servers identified by the anycast address.
While these prior art systems provide useful features, it would be more useful for the messaging service to reflect the realities of the switching network in which traffic conditions may prevent the completion of connections to some of the desired destinations. For, example, in polling applications, where addresses have to be sampled roughly uniformly, it would be desirable for the messaging service to provide some measure of statistical assurance that at least a given number of the addresses have been reached.
In accordance with the principles of the invention, a service is provided (herein termed xe2x80x9cfuzzycastxe2x80x9d service ) which provides statistical assurance that, on the average, all destinations get some percentage of offered traffic. The switch, at a router or ATM node, services a fuzzycast message by estimating the congestion on the route specified by the IP protocol header. The switch is free to temporarily drop those destinations whose routes are congested, as determined, for example, from the length of the outgoing queue. For each fuzzycast message, a subset K of the M destinations is chosen, advantageously by using a random number generator, and the message is sent to the chosen destinations, if possible.